home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2007 December / PCWKCD1207B.iso / Blogowanie poza sfera / Flock 0.9.1.3 stable / flock-0.9.1.3.en-US.win32.exe / flock / chrome / browser.jar / content / browser / preferences / permissionsutils.js < prev    next >
Text File  |  2006-07-18  |  2KB  |  67 lines

  1. //@line 38 "/cygdrive/K/tinderbuild/src/flock/mozilla/browser/components/preferences/permissionsutils.js"
  2.  
  3. var gTreeUtils = {
  4.   deleteAll: function (aTree, aView, aItems, aDeletedItems)
  5.   {
  6.     for (var i = 0; i < aItems.length; ++i)
  7.       aDeletedItems.push(aItems[i]);
  8.     aItems = [];
  9.     var oldCount = aView.rowCount;
  10.     aView._rowCount = 0;
  11.     aTree.treeBoxObject.rowCountChanged(0, -oldCount);
  12.   },
  13.   
  14.   deleteSelectedItems: function (aTree, aView, aItems, aDeletedItems)
  15.   {
  16.     var selection = aTree.view.selection;
  17.     selection.selectEventsSuppressed = true;
  18.     
  19.     var rc = selection.getRangeCount();
  20.     for (var i = 0; i < rc; ++i) {
  21.       var min = { }; var max = { };
  22.       selection.getRangeAt(i, min, max);
  23.       for (var j = min.value; j <= max.value; ++j) {
  24.         aDeletedItems.push(aItems[j]);
  25.         aItems[j] = null;
  26.       }
  27.     }
  28.     
  29.     var nextSelection = 0;
  30.     for (i = 0; i < aItems.length; ++i) {
  31.       if (!aItems[i]) {
  32.         var j = i;
  33.         while (j < aItems.length && !aItems[j])
  34.           ++j;
  35.         aItems.splice(i, j - i);
  36.         nextSelection = j < aView.rowCount ? j - 1 : j - 2;
  37.         aView._rowCount -= j - i;
  38.         aTree.treeBoxObject.rowCountChanged(i, i - j);
  39.       }
  40.     }
  41.  
  42.     if (aItems.length) {
  43.       selection.select(nextSelection);
  44.       aTree.treeBoxObject.ensureRowIsVisible(nextSelection);
  45.       aTree.focus();
  46.     }
  47.     selection.selectEventsSuppressed = false;
  48.   },
  49.   
  50.   sort: function (aTree, aView, aDataSet, aColumn, 
  51.                   aLastSortColumn, aLastSortAscending) 
  52.   {
  53.     var ascending = (aColumn == aLastSortColumn) ? !aLastSortAscending : true;
  54.     aDataSet.sort(function (a, b) { return a[aColumn].toLowerCase().localeCompare(b[aColumn].toLowerCase()); });
  55.     if (!ascending)
  56.       aDataSet.reverse();
  57.     
  58.     aTree.view.selection.select(-1);
  59.     aTree.view.selection.select(0);
  60.     aTree.treeBoxObject.invalidate();
  61.     aTree.treeBoxObject.ensureRowIsVisible(0);
  62.     
  63.     return ascending;
  64.   }
  65. };
  66.  
  67.